Skip to content
Back to skills

Aped Quick

ASecurity

Use when user says "quick fix", "quick feature", "hotfix", "small change", "just fix this", "aped quick", or invokes aped-quick. Bypasses the full A→P→E→D→R pipeline — use only for isolated fixes.

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
developmentrustshellbashsqlgitapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add yabafre/aped-claude --skill aped-quick --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aped Quick?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Aped Quick
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/yabafre-aped-quick/badge)](https://www.skillsdirectory.com/skills/yabafre-aped-quick)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: aped-quick
keep-coding-instructions: true
description: 'Use when user says "quick fix", "quick feature", "hotfix", "small change", "just fix this", "aped quick", or invokes aped-quick. Bypasses the full A→P→E→D→R pipeline — use only for isolated fixes.'
allowed-paths:
  write: ["{{OUTPUT_DIR}}/**", "{{APED_DIR}}/**"]
  read-only: ["src/**", "tests/**", "package.json"]
argument-hint: "<title> [fix|feature|refactor]"
license: MIT
metadata:
  author: yabafre
  version: {{CLI_VERSION}}
---
<!-- AUTO-GENERATED from SKILL.md.tmpl. Edits will be overwritten. Run: npm run gen:skill-docs -->

**Activation guard (6.2.0):** Before any other action, run `bash {{APED_DIR}}/scripts/check-enabled.sh`. If it exits non-zero, print "APED disabled — run aped-method enable" and HALT.

# APED Quick — Fast Track for Small Changes

Use this for isolated fixes, small features, or refactors that don't warrant the full A→P→E→D→R pipeline.

## On Activation

Before any other action, read `{{APED_DIR}}/config.yaml` and resolve:
- `{user_name}` — for greeting and direct address
- `{communication_language}` — for ALL conversation with the user
- `{document_output_language}` — for artefacts written under `{{OUTPUT_DIR}}/`
- `{ticket_system}` / `{git_provider}` — routing for ticket / PR I/O (skip if `none`)

✅ YOU MUST speak `{communication_language}` in every message to the user.
✅ YOU MUST write artefact content in `{document_output_language}`.
✅ If `{{APED_DIR}}/config.yaml` is missing or unreadable, HALT and tell the user to run `npx aped-method`.

> **Setup pointer.** Integrates with `ticket_system` in `{{APED_DIR}}/config.yaml` to label the hotfix on the source ticket so the team sees the bypass. With `ticket_system: none`, the skill writes its quick-spec under `{{OUTPUT_DIR}}/quick-specs/` only. Hard-dep matrix: `docs/skills-classification.md`.

## Setup

1. Read `{{OUTPUT_DIR}}/state.yaml` — note current phase for context
2. Scan `{{OUTPUT_DIR}}/quick-specs/` for any specs with `**Status:** in-progress`
   - If found: ask user — "Resume spec `{slug}` or start a new one?"
   - If resume: load that spec and skip to Implementation

### Fresh-read discipline

Read every source-of-truth file fresh in this skill — `config.yaml`, `state.yaml`, the resumed quick-spec if any, and any PRD / story / architecture file the title argument touches. Never trust a cached or compacted summary; cached summaries drop the scope-boundary text and FR/NFR IDs the quick spec must respect. If your context shows you a "summary of the PRD" instead of the file content, Read the file from disk.

## Out-of-Scope KB Scan

Before any new quick-spec is drafted, check `{{APED_DIR}}/.out-of-scope/` for a persistent rejection that matches the user's title argument. The directory may not exist on pre-4.2 scaffolds — treat the missing directory as an empty KB and skip this section silently.

1. **List entries.** `ls {{APED_DIR}}/.out-of-scope/*.md 2>/dev/null` excluding `README.md`. If empty (or directory missing), skip.

2. **Tokenize the title argument** (the `<title>` passed to the skill). Lowercase, strip punctuation, split on whitespace, `-`, and `_`. Drop ≤2-character tokens and stop-words (`add`, `fix`, `update`, `the`, `a`, `an`, `to`, `for`, `with`).

3. **Match entries.** For each entry file, tokenize its filename the same way (drop the `.md` extension; strip `-resolved-YYYY-MM-DD` suffix so old decisions still match). Match if any title token equals any filename token (exact word equality).

4. **No match → continue silently** to Spec Isolation.

5. **Match → surface to user.** Show the entry's frontmatter + `## Why this is out of scope` body, then present the menu:

   ```
   ⚠️ Out-of-scope KB match: {{APED_DIR}}/.out-of-scope/{matched-file}

   {entry summary}

   [K] Keep refusal — abort this quick-spec, the rejection still holds
   [O] Override — append this request to "Prior requests", then continue drafting
   [U] Update — the rejection is stale; rename to {concept}-resolved-{today}.md and continue
   ```

   ⏸ **HALT — wait for user choice per match.**

6. **Behaviour by choice:**
   - `[K]` → abort with: `"Concept '{concept}' was declared out of scope on {rejected_at} (reason: {one-line rationale}). Refusing to draft this quick-spec. To revisit, re-invoke and pick `[U]`."` Exit cleanly without creating any spec file.
   - `[O]` → prepend `- {today} — quick-spec ({user_name}): {title}` to the entry's `## Prior requests` list. Continue to Spec Isolation.
   - `[U]` → rename the file to `{concept}-resolved-{YYYY-MM-DD}.md` and append `## Resolved on {YYYY-MM-DD}\n\n{one-line note from user}`. Continue to Spec Isolation.

7. **Multi-match.** Adjudicate per match, in order. Any `[K]` aborts the whole skill.

## Spec Isolation

Each quick spec is an independent file: `{{OUTPUT_DIR}}/quick-specs/{date}-{slug}.md`
- Multiple specs can exist in parallel (different sessions, different developers)
- Status field tracks lifecycle: `draft` → `in-progress` → `done` or `abandoned`
- Never overwrite an existing spec — always create a new file with a unique slug

## Scope Check

This mode is for changes that:
- Touch **5 files or fewer**
- Can be completed in **1 session**
- Don't introduce **new architectural patterns**
- Don't require **new dependencies**

If any of these are violated, recommend the full pipeline instead.

## Quick Spec (2 minutes)

Ask the user:
1. **What?** — What needs to change (1-2 sentences)
2. **Why?** — Why now, what breaks without it
3. **Type?** — fix | feature | refactor

Generate a quick spec using `{{APED_DIR}}/templates/quick-spec.md`:
- Fill: title, type, what, why, acceptance criteria, files to change, test plan
- Set `**Status:** draft`
- Write to `{{OUTPUT_DIR}}/quick-specs/{date}-{slug}.md`
- Present spec to user for validation before implementing

⏸ **GATE: User must approve the spec before implementation starts.**

Once approved, update `**Status:** in-progress`

## Implementation (TDD)

Same TDD cycle as aped-dev but compressed:

1. **RED** — Write test for the expected behavior
2. **GREEN** — Minimal implementation to pass
3. **REFACTOR** — Clean up while green

Run tests: `bash {{APED_DIR}}/aped-dev/scripts/run-tests.sh`

## Self-Review (30 seconds)

Quick checklist — no full adversarial review. Each `[x]` requires fresh evidence pasted in this message (Iron Law from `aped-review.md` applied to the quick path):

- [ ] **Tests pass** — `cat .aped/.last-test-exit` returned `0` AND the most recent run shown above this message included the test files you touched. If `.aped/.last-test-exit` is absent or stale (>10 min), re-run via `bash {{APED_DIR}}/aped-dev/scripts/run-tests.sh` and paste output before checking.
- [ ] No security issues introduced — quick scan of the diff for hardcoded secrets / SQL string-concat / un-validated user input / shell command injection. If any present, halt and treat as a real story (run `aped-dev` instead).
- [ ] No regressions in existing tests — same `.aped/.last-test-exit == 0` check; if the test count *dropped* from the prior run, that's a regression-by-deletion.
- [ ] AC from quick spec satisfied — paste the AC text and the file:line where each is implemented.

## Git & Ticket Workflow

Read `ticket_system` and `git_provider` from config.
Read `{{APED_DIR}}/aped-dev/references/ticket-git-workflow.md` for full guide.
Read `{{APED_DIR}}/aped-skills/writing-discipline.md` before drafting commit / PR / ticket comment text — short, sharp, slightly human; the diff proves the work, prose adds the *why*.

1. **Branch**: create `fix/{ticket-id}-{slug}` or `feature/{ticket-id}-{slug}`
2. **Commits**: `type({ticket-id}): description` — include magic words per ticket provider
3. **PR/MR**:
   - `github`: `gh pr create --draft --title "fix({ticket-id}): description" --body "Fixes {ticket-id}"`
   - `gitlab`: `glab mr create --draft --title "fix({ticket-id}): description" --description "Closes {ticket-id}"`
   - Mark the PR/MR ready (`gh pr ready <n>` / `glab mr update --ready`) once the validation block has been re-run locally and is green. See `{{APED_DIR}}/aped-skills/writing-discipline.md` § PRs.
   - `bitbucket`: push branch, create PR via web
4. **Ticket**: move to Done after merge — short comment + link to the merged PR, don't re-narrate the work in the ticket

## Output

1. Update spec: set `**Status:** done`, fill the `## Result` section
2. No state.yaml update — quick specs don't affect pipeline phase
3. Report: files changed, tests added, quick spec path

## Example

User: "quick fix the login button not submitting"
1. Quick spec: fix, "login form submit handler not wired"
2. RED: test that clicking submit calls auth API
3. GREEN: wire onClick → submitForm()
4. Self-review: tests pass, no security issues
5. Commit: `fix(auth): wire login form submit handler`

## Common Issues

- **Change touches >5 files**: This is too big for quick — recommend full pipeline
- **New dependency needed**: HALT — ask user, this may need architectural discussion

Files in this skill

  • SKILL.md8.9 KB
  • SKILL.md.tmpl8.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.