-
Notifications
You must be signed in to change notification settings - Fork 0
refactor(skills)!: rebuild Propulsion as a skill-only workflow #29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
52 commits
Select commit
Hold shift + click to select a range
130c795
Reset
adamwhp e45d933
Reset
adamwhp 6ae5a4f
Reset
adamwhp 0f81042
Reset
adamwhp 41b38db
Reset
adamwhp 14d74e4
Add skills
adamwhp c307fdf
Symlink
adamwhp adfec87
Skills
adamwhp d2018a3
Skills
adamwhp f324266
Skills
adamwhp b1d4093
Skills
adamwhp 72b2d9f
Skills
adamwhp 10590b4
Skills
adamwhp 9038311
Skills
adamwhp 4b27ca8
Skills
adamwhp 9c36059
Skills
adamwhp 77c4b46
feat(commit): add conventional commit workflow
adamwhp 8cdc99e
feat(pr): add pull request workflow
adamwhp a1b1659
fix(skills): resolve calibration findings
adamwhp afaa219
feat(tdd): add test-driven development workflow
adamwhp 709c407
feat(code-review): add code review workflow
adamwhp 6b7d030
feat(implement): add implementation routing workflow
adamwhp dae98b7
docs(agents): require runtime-context reasoning
adamwhp a1738b4
feat(debug): add evidence-driven debugging workflow
adamwhp ef05a90
feat(review-architecture): add architecture review workflow
adamwhp 3bfb48a
fix(skills): tighten reviewed contracts
adamwhp 9533a77
docs(readme): document recommended workflow
adamwhp 37d449d
feat(skills): add agent and product definition workflows
adamwhp 9f824be
feat(maintain-context): group related glossary terms
adamwhp 6c4b1a4
refactor(skills): standardize process sections
adamwhp 306bea2
feat(write-skill): add research-led authoring workflow
adamwhp d4ad5be
feat(write-skill): prioritize main success scenarios
adamwhp 2e93528
feat(write-skill): enforce confirmed authoring scope
adamwhp 4f204e9
Skills
adamwhp 56ed25b
docs: remove research and decision records
adamwhp 2bb7cad
style(markdown): keep prose on single lines
adamwhp 4ed8fa0
feat(elicit): enforce exhaustive decision resolution
adamwhp ba8730f
Skills
adamwhp 06fef08
refactor(research): sharpen primary-source workflow
adamwhp 283b00c
feat(maintain-context): maintain project language inline
adamwhp b652c41
feat(tdd): add durable test guidance
adamwhp 4fdfa1c
feat(code-review): add independent inspection workflow
adamwhp 8c87733
refactor(elicit-with-context): reduce router to composition
adamwhp 3453292
refactor(implement): reduce router to PDCA loop
adamwhp 042278b
feat(tdd): select slices with tracer bullets
adamwhp 17ca9ed
refactor(skills): simplify commit and PR workflows
adamwhp 49978e7
feat(maintain-agents): enforce lean repository guidance
adamwhp 127b1bf
feat(debug): enforce scientific repair loop
adamwhp d484f95
feat(modular-design): add shared architecture standard
adamwhp 7b97b1c
feat(review-architecture): pair durable and visual reports
adamwhp 3e0b1b8
feat(define-product): prioritize feature-led discovery
adamwhp 6e6005b
fix(skills): align invocation policies with coding use
adamwhp File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| .DS_Store | ||
| .idea | ||
| /node_modules | ||
| /docs/propulsion | ||
| /docs | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,3 @@ | ||
| - When the user corrects you with a reusable, global rule, ask if they want it added to `AGENTS.md`. | ||
| - When authoring or reviewing a skill, justify its behaviour using only context available to the agent at runtime. | ||
| - After implementing changes run `bun run checks` before handoff. | ||
| - When raising a PR, update `package.json` to the appropriate semantic version for the PR contents and keep mirrored manifest versions in sync. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,135 @@ | ||
| # Propulsion | ||
|
|
||
| Propulsion is an agentic coding workflow composed of skills that steer a coding agent through repeatable engineering work. | ||
|
|
||
| ## Language | ||
|
|
||
| **Predictability**: The degree to which a skill makes the agent follow the same process on every run, without requiring the same output.\ | ||
| _Avoid_: Consistency, output determinism | ||
|
|
||
| **User-invoked skill**: A skill the user selects explicitly. This is the default skill type in Propulsion.\ | ||
| _Avoid_: Manual skill, command | ||
|
|
||
| **Model-invoked skill**: A skill the agent may select autonomously or invoke from another skill. Use this exception only when autonomous discovery would naturally help during ordinary coding work often enough to earn its permanent context cost.\ | ||
| _Avoid_: Automatic skill | ||
|
|
||
| **Invocation policy**: Client-specific metadata within a skill bundle that controls whether an agent may select that skill implicitly. The same intent may require different policy fields in different clients.\ | ||
| _Avoid_: Invocation flag, frontmatter setting | ||
|
|
||
| **Skill-only distribution**: Distributing Propulsion directly as Agent Skills, using the skills installer for remote sources and filesystem links for local sources. Propulsion does not require client-specific plugin packaging.\ | ||
| _Avoid_: Plugin distribution | ||
|
|
||
| **Elicitation**: Requirements elicitation adapted to establish discoverable facts, resolve a dependency-ordered decision tree with the user, and confirm shared understanding before downstream action.\ | ||
| _Avoid_: Interrogation, clarification | ||
|
|
||
| **Theoretical saturation**: The point at which further elicitation within the agreed scope reveals no new material decisions, allowing the shared understanding to be presented for confirmation.\ | ||
| _Avoid_: Question limit, exhaustive questioning | ||
|
|
||
| **Main success scenario**: The representative invocation path that delivers a skill's intended outcome and remains dominant during design, refinement, and forward testing.\ | ||
| _Avoid_: Every possible path, exhaustive scenario set | ||
|
|
||
| **Material exception**: A non-common path that earns explicit skill behaviour because representative evidence, the main success scenario, or a necessary safety or permission boundary requires it. Speculative variation remains agent judgement.\ | ||
| _Avoid_: Edge case, hypothetical branch | ||
|
|
||
| ### Skill anatomy | ||
|
|
||
| **Authoring workflow**: A skill that guides an agent through creating or updating another skill with an explicit process. It makes execution predictable without prescribing the authored skill's outcome.\ | ||
| _Avoid_: Design guide, skill reference | ||
|
|
||
| **Composable skill**: An independently useful skill that may be invoked alone or coordinated by another skill without requiring the rest of a prescribed workflow.\ | ||
| _Avoid_: Workflow stage, mandatory step | ||
|
|
||
| **Router skill**: A lightweight skill that invokes other skills to produce a combined outcome. It contains only coordination unique to that outcome; called skills remain authoritative and the router neither repeats nor overrides their context.\ | ||
| _Avoid_: Pipeline skill | ||
|
|
||
| **Implement skill**: The user-invoked workflow that uses tracer bullets to deliver a clear implementation request in verified slices, applying TDD when appropriate. It remediates code-review findings until verified and elicits user intent when a finding would change behaviour, contracts, architecture, or scope. | ||
|
|
||
| **TDD skill**: The model-invoked workflow that applies red-green-refactor when an existing runnable test suite can exercise the behaviour change through a stable public seam. It uses Test Desiderata to favour valuable tests that respond to behaviour without coupling to code structure. | ||
|
|
||
| **Code-review skill**: The model-invoked workflow that assesses a scoped code change independently for requirements and code health, then reports evidence-validated findings including code smells and refactor opportunities without changing the code.\ | ||
| _Avoid_: Review skill | ||
|
|
||
| **Review-architecture skill**: The user-invoked workflow that analyses a project's architecture and produces an HTML report of high-value, context-aware redesign opportunities without changing the implementation.\ | ||
| _Avoid_: Improve-architecture skill | ||
|
|
||
| **Architecture review report**: A single-file interactive artifact named `docs/architecture/YYYYMMDD-{scope}-architecture-review.html` that guides the user through a small set of prioritised recommendations in concise plain language. It uses visualisation and progressive disclosure to explain affected architecture, expected improvements, evidence, and trade-offs without presenting a wall of technical detail. Verified CDN dependencies may supply scripts, styles, fonts, and diagram libraries.\ | ||
| _Avoid_: Static architecture audit | ||
|
|
||
| **Architecture module**: A cohesive capability with a small explicit contract and a hidden implementation. Other modules depend on the contract rather than its internal classes, adapters, or framework wiring.\ | ||
| _Avoid_: Directory, namespace | ||
|
|
||
| **Deep module**: An architecture module whose small, stable interface hides substantial cohesive implementation. The implementation may be decomposed into focused internal actions for reuse and maintainability without exposing that decomposition to consumers.\ | ||
| _Avoid_: Large class, shallow module | ||
|
|
||
| **Debug skill**: The model-invoked workflow that reproduces a code issue, establishes its root cause, applies the smallest correction, and verifies the result. An explicit diagnosis-only request stops before mutation.\ | ||
| _Avoid_: Diagnose skill | ||
|
|
||
| **Maintain-agents skill**: The user-invoked workflow that creates or aggressively compresses the root `AGENTS.md` into project-wide runtime guidance and one canonical completion check. It removes narrower workflows from permanent context and reports their appropriate destinations. | ||
|
|
||
| **Define-product skill**: The user-invoked workflow that inspects existing product knowledge, composes contextual elicitation and conditional research, and maintains a root `PRODUCT.md` plus canonical language in `CONTEXT.md`. Concise strategic framing leads into a journey-organised catalogue of high-level feature descriptions without becoming a delivery plan. | ||
|
|
||
| **Primary source**: Original high-trust evidence such as official documentation, source code, standards, publications, first-party APIs, or first-party data. Secondary sources may aid discovery but findings trace their claims back to primary evidence.\ | ||
| _Avoid_: Trusted write-up | ||
|
|
||
| **Research report**: A cited Markdown snapshot named `docs/research/YYYYMMDD-{research-title}.md` that answers a research question from primary evidence and records its scope, findings, and unresolved limitations. Substantive re-research creates a linked superseding snapshot; minor corrections update the existing report and its metadata.\ | ||
| _Avoid_: Research answer | ||
|
|
||
| **Research skill**: The model-invoked rapid evidence assessment workflow that gives a fresh agent ownership of primary-source discovery, appraisal, synthesis, and report writing. The caller verifies the cited research report and receives its concise findings; other skills invoke it only when the evidence warrants that durable record.\ | ||
| _Avoid_: Web search | ||
|
|
||
| **Description**: A concise statement of what a skill does and the conditions under which it should be invoked.\ | ||
| _Avoid_: Summary, tagline | ||
|
|
||
| **Skill name**: A short command that states the skill's action and fits naturally into a user instruction. Prefer one imperative verb, then a short imperative phrase, with established nouns reserved for operations they already name clearly.\ | ||
| _Avoid_: Title, label | ||
|
|
||
| **Branch**: A distinct route through a skill for a particular use case or condition. Branches share the skill's common process without duplicating it.\ | ||
| _Avoid_: Separate workflow, mode | ||
|
|
||
| **Process section**: The required `## Process` section that contains a skill's instructions. It uses numbered subheadings only when order matters and descriptive subheadings or direct prose otherwise.\ | ||
| _Avoid_: Steps section, instructions section | ||
|
|
||
| **Leading word**: A recognised term from an established method, principle, theory, or technique, specific enough to invoke the agent's existing knowledge without further explanation. A skill explains only its context-specific adaptation or constraints.\ | ||
| _Avoid_: Coined term, theme, slogan | ||
|
|
||
| **Governing methodology**: An established methodology selected through research to determine a skill's process when one credibly fits. Research may conclude that none is suitable; a selected methodology appears by canonical name in the skill without source attribution.\ | ||
| _Avoid_: Core concept, main theme | ||
|
|
||
| **Supporting concept**: An established principle, theory, or technique that reinforces the governing methodology for a distinct concern without competing with it.\ | ||
| _Avoid_: Secondary concept | ||
|
|
||
| **Skills plan**: The self-contained high-level handoff for Propulsion's fixed v1 skill suite. It records suite principles, the skill catalogue and standard briefs, composition and invocation, implementation order, and acceptance criteria without carrying source citations, discarded scope, or finished skill instructions.\ | ||
| _Avoid_: Skill specification, backlog | ||
|
|
||
| **Lossless compression**: Reducing a skill to the fewest words and structures that preserve its behaviour, conditions, constraints, and technical meaning.\ | ||
| _Avoid_: Trimming, shortening, minimalism | ||
|
|
||
| **Degrees of freedom**: The amount of judgement a skill leaves to the agent. Match it to the work's fragility so the process is predictable without predetermining valid outcomes.\ | ||
| _Avoid_: Flexibility, strictness | ||
|
|
||
| **Ironic process theory**: The tendency for a negated concept to become more salient. Skills state the positive target behaviour and pair an essential safety boundary with the safe action that satisfies it.\ | ||
| _Avoid_: Prohibition-only rule, negative prompting | ||
|
|
||
| **Prerequisite**: A condition that must be true before a skill can begin. Its failure stops the skill or routes the work elsewhere.\ | ||
| _Avoid_: Setup step, pre-flight check | ||
|
|
||
| **Step**: A numbered subheading used when actions within a process or branch must occur in order. It isolates one coherent behavioural concern, describes the action, and ends in an observable postcondition.\ | ||
| _Avoid_: Instruction, rule | ||
|
|
||
| **Postcondition**: An observable state that marks a step complete without requiring a separate completion section.\ | ||
| _Avoid_: Completion criterion, completion gate | ||
|
|
||
| **Rule**: A cross-cutting invariant that constrains multiple instructions or the finished output.\ | ||
| _Avoid_: Step, reminder | ||
|
|
||
| **Handoff**: A transfer or route that becomes available after the skill's process is complete.\ | ||
| _Avoid_: Next step, final step | ||
|
|
||
| **Reference**: Conditional or extensive runtime guidance linked once beside a precise loading condition. The agent loads it only when that branch or decision needs the additional depth.\ | ||
| _Avoid_: Background, resource | ||
|
|
||
| **Acceptance testing**: A semantic validation that traces every elicited invocation through a finished skill's branches, resource pointers, and observable postconditions.\ | ||
| _Avoid_: Checklist, structural validation | ||
|
|
||
| **Characterization testing**: Capturing an existing skill's observable invocation and process before improvement so intentional changes remain distinct from regressions.\ | ||
| _Avoid_: Snapshot, preservation rule |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.