Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
speckit-companion-status
monicahq/laravel-cloudflare
claude-code
php
laravel
cloudflare
proxies

Report where the active spec stands — current step, status, recorded decisions, and the next action — from .spec-context.json

Install
php artisan boost:add-skill monicahq/laravel-cloudflare

Save this content to: .claude/skills/speckit-companion-status/SKILL.md

# Spec Status

Summarize the active feature's position in the spec-driven pipeline so you can see, at a glance, the current step, its status, the decisions recorded so far, and what to do next. **Read-only** — this command never writes `.spec-context.json`.

<!-- speckit-companion:part command-spelling -->
## Name every command the way this project registers it

Commands are named in dot form throughout this body, `speckit.companion.plan`, because that is their canonical id, and without a leading slash, because the spelling a host actually registers is not always this one. Claude Code installs `/speckit-companion-plan`. Look at how the commands are installed in this project, under the agent's own commands or skills directory, and use that spelling every time you name one to the developer or dispatch one yourself. A dotted name typed into a host that registered dashes resolves to nothing at all.
<!-- /speckit-companion:part command-spelling -->

## Prerequisites

- Verify Python is available by running `python3 --version`.
- If `python3` is not available, warn the user and skip:
  `[companion] Warning: python3 not detected; skipped status`.
  Do not fail the host command.

## Execution

Run the resolver from the repository root:

```bash
python3 .specify/extensions/companion/scripts/status-context.py
```

The script resolves the active feature directory on its own, in this order:
`--feature-dir` → `SPECIFY_FEATURE_DIRECTORY` env → `SPECIFY_FEATURE` env →
`.specify/feature.json` → current git branch prefix.

Pass the directory explicitly when you already know it:

```bash
python3 .specify/extensions/companion/scripts/status-context.py --feature-dir specs/<NNN>-<slug>
```

The script reads `.spec-context.json`. When that file is missing or malformed, it
falls back to deriving state from the on-disk artifacts (`spec.md` → specify,
`plan.md` → plan, `tasks.md` → tasks/implement) and marks the output
`source: derived`.

## Output

Print the human summary block the script emits, e.g.:

```text
Spec: <name>   (source: state|derived)
Step: <currentStep>   Status: <status>
Decisions:
  - <decision>
Next: <action>  →  <command|—>
```

- No decisions recorded → `Decisions: (none recorded)`.
- Spec fully implemented / completed / archived → `Next: Pipeline complete  →  —`.
- Inside the implement step → `Next: Continue implementation at <task>  →  dispatching speckit.implement`.
- No state and no spec files → `Nothing to summarize (no spec files or recorded state found).`

The script also emits a final `RESOLUTION: { … }` JSON line. It is for
`speckit.companion.resume` and tests — you do not need to surface it to the user.

## Graceful Degradation

Best-effort and never fails the host command: if `python3` is missing or the
feature directory cannot be resolved, it warns to stderr and exits 0.

Spec Status

Summarize the active feature's position in the spec-driven pipeline so you can see, at a glance, the current step, its status, the decisions recorded so far, and what to do next. Read-only — this command never writes .spec-context.json.

Name every command the way this project registers it

Commands are named in dot form throughout this body, speckit.companion.plan, because that is their canonical id, and without a leading slash, because the spelling a host actually registers is not always this one. Claude Code installs /speckit-companion-plan. Look at how the commands are installed in this project, under the agent's own commands or skills directory, and use that spelling every time you name one to the developer or dispatch one yourself. A dotted name typed into a host that registered dashes resolves to nothing at all.

Prerequisites

  • Verify Python is available by running python3 --version.
  • If python3 is not available, warn the user and skip: [companion] Warning: python3 not detected; skipped status. Do not fail the host command.

Execution

Run the resolver from the repository root:

python3 .specify/extensions/companion/scripts/status-context.py

The script resolves the active feature directory on its own, in this order: --feature-dir → SPECIFY_FEATURE_DIRECTORY env → SPECIFY_FEATURE env → .specify/feature.json → current git branch prefix.

Pass the directory explicitly when you already know it:

python3 .specify/extensions/companion/scripts/status-context.py --feature-dir specs/<NNN>-<slug>

The script reads .spec-context.json. When that file is missing or malformed, it falls back to deriving state from the on-disk artifacts (spec.md → specify, plan.md → plan, tasks.md → tasks/implement) and marks the output source: derived.

Output

Print the human summary block the script emits, e.g.:

Spec: <name>   (source: state|derived)
Step: <currentStep>   Status: <status>
Decisions:
  - <decision>
Next: <action>  →  <command|—>
  • No decisions recorded → Decisions: (none recorded).
  • Spec fully implemented / completed / archived → Next: Pipeline complete → —.
  • Inside the implement step → Next: Continue implementation at <task> → dispatching speckit.implement.
  • No state and no spec files → Nothing to summarize (no spec files or recorded state found).

The script also emits a final RESOLUTION: { … } JSON line. It is for speckit.companion.resume and tests — you do not need to surface it to the user.

Graceful Degradation

Best-effort and never fails the host command: if python3 is missing or the feature directory cannot be resolved, it warns to stderr and exits 0.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel